# 异常
# BaseException应该是顶级类 Exception是异常的次顶级类(抓全异常一般用这个)
# try:     java
# except   java的catch  这里是可以指定多个类型的它用元组的方式 如： except (aError, bError)
# finally  java
# else     不出异常的执行
# raise    java的throws 用法raise Exception('xxx')
# as 取别名 这里通常是给异常取别名

# 异常类型
# AttributeError 对象没有这个属性
# IOError 输入输出异常
# ImportError 无法引入
# IndentationError 子类语法没有对齐
# IndexError 数组下角标越界
# KeyError 字典不存在的键
# KeyboardInterrupt 输入中断
# NameError 没有申明变量
# SyntaxError 不能编译
# TypeError  数据类型不对
# ValueError 传入一个不期望的参数值
try:

    print('产生异常')
    print(a)
except BaseException as e:

    print(e)
else:

    print('无异常')
finally:

    print('无论有没有异常都执行')


